//postgresql-contrib-8.4
//#sudo su postgres
//#cd /usr/share/postgres/8.2/contrib/
//#psql –d <banco> -f pgcrypto.sql

//senha como bytea

//INSERT INTO pessoa(email, codendereco, telefone, telefone2, login, senha) VALUES ('juniormj1@globo.com', 2, '1111-2121', '', 'juniormj',encrypt('Junior','fooz','aes'));
//select *, decrypt(senha, 'fooz','aes') from pessoa;   ---> Lista todos usuários
//select *, decrypt(senha, 'fooz','aes') from pessoa where login = 'juniormj';   --> lista filtrada


package Teste;

import java.sql.SQLException;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.JOptionPane;

import basicas.*;

import basicas.Endereco;
import basicas.ItemOpcional;
import basicas.PessoaFisica;
import basicas.PessoaJuridica;

import colecoes.*;
import colecoes.ColItensOpcionais;
import colecoes.ColPessoaFisica;
import colecoes.ColPessoaJuridica;
import colecoes.ValidaCpf;

public class Main {
	
	
		
	public static void main(String[] args) throws ClassNotFoundException,
			SQLException {
		
		/*
		String logra = "Colorado, 399";
		String bairro = "Centro";
		String cidade = "São Paulo";
		String estado = "SP";
		String cep = "48602-000";
				
		Endereco E = new Endereco();
		//E.setCodEndereco(id);
		E.setLogradouro(logra);
		E.setBairro(bairro);
		E.setCidade(cidade);
		E.setEstado(estado);
		E.setCep(cep);

		Endereco ende;
		ColEndereco end = new ColEndereco();
		ende = end.consultarEndereco(2);
		
    		System.out.println("---------------\n");
			System.out.println(ende.getLogradouro());
			System.out.println(ende.getBairro());
			System.out.println(ende.getCidade());
			System.out.println("---------------\n");
		
		
		Endereco ende;
		ColEndereco end = new ColEndereco();
		end.removerEndereco(4);
		
		
		String DescVeiculo = "Fox City 1.0"; //						
		Veiculo V = new Veiculo();
		V.setDescricaoVeiculo(DescVeiculo);		
		ColVeiculo vei = new ColVeiculo();
		vei.cadastrarVeiculo(V);
		
		Veiculo veiculoConsultado;
		ColVeiculo vei = new ColVeiculo();
		veiculoConsultado = vei.consultarVeiculo(1);		
    		System.out.println("---------------\n");
			System.out.println(veiculoConsultado.getCodVeiculo());
			System.out.println(veiculoConsultado.getDescricaoVeiculo());
			System.out.println("---------------\n");

					
		Veiculo veiculoExcluir;
		ColVeiculo vei = new ColVeiculo();
		vei.removerVeiculo(2);
		
		
		String email = "marcio@globo.com";
		int codendereco = 2;
		String telefone = "2222-3333";
		String telefone2 = "1111-2222";
		Date dataNascimento = null;
		Date dtValeu = dataNascimento;
		String sexo = "M";
		String cpf = "872362873";
		String nome = "Marcio Cleiton da Silva";
		
		Endereco end = new Endereco();
		end.setCodEndereco(codendereco);
		
		PessoaFisica f = new PessoaFisica(null,null,null);
		f.setEmail(email);
		f.setEnd(end);
		f.setTelefone(telefone);
		f.setTelefone2(telefone2);
		f.setDataNascimento(dataNascimento);
		f.setSexo(sexo);
		f.setCpf(cpf);
		f.setNome(nome);
		
		
		
		ColPessoFisica fis = new ColPessoFisica();
		fis.cadastrarPessoaFisica(f);
		
		
		String DescCor = "Vermelho Alpine"; //										
		float precoCor = 600;
		Cor C = new Cor();
		C.setDescricaoCor(DescCor);
		C.setPrecoCor(precoCor);
		ColCor cor1 = new ColCor();
		cor1.cadastrarCor(C);
		
		
		Cor corExcluir;
		ColCor cor2 = new ColCor();
		cor2.removerCor(2);
		
		
		Cor CorConsultada;
		ColCor cor1 = new ColCor();
		CorConsultada = cor1.consultarCor(3);		
    		System.out.println("---------------\n");
			System.out.println(CorConsultada.getCodCor());
			System.out.println(CorConsultada.getDescricaoCor());
			System.out.println(CorConsultada.getPrecoCor());
			System.out.println("---------------\n");
		
		
		
		int codVeiculo = 1;
		String descricaoModelo = "4 portas";		
		int prazoModelo = 7;
		float precoModelo = 20000;
		
		
		Veiculo vei = new Veiculo();
		vei.setCodVeiculo(codVeiculo);
		
		Versao v = new Versao();
		v.setCodVeiculo(vei);
		v.setDescricaoModelo(descricaoModelo);
		v.setPrazoModelo(prazoModelo);
		v.setPrecoModelo(precoModelo);
						
		ColVersao ver = new ColVersao();
		ver.cadastrarVersao(v);
		
		Versao versaoExcluir;
		ColVersao ver = new ColVersao();
		ver.removerVersao(2);
		
		Versao versaoConsultada;
		ColVersao ver = new ColVersao();
		versaoConsultada = ver.consultarVersao(1);		
    		System.out.println("---------------\n");
    		System.out.println(versaoConsultada.getCodVeiculo());
    		System.out.println(versaoConsultada.getCodVersao());
			System.out.println(versaoConsultada.getDescricaoModelo());
			System.out.println(versaoConsultada.getPrazoModelo());
			System.out.println(versaoConsultada.getPrecoModelo());
			System.out.println("---------------\n");
		
		
		String descricaoAcabamento = "Básica"; //										
		float precoAcabamento = 800;
		Acabamento A = new Acabamento();
		A.setDescricaoAcabamento(descricaoAcabamento);
		A.setPrecoAcabamento(precoAcabamento);
		ColAcabamento acab = new ColAcabamento();
		acab.cadastrarAcabamento(A);
		
		
		Acabamento AcabamentoExcluir;
		ColAcabamento acab = new CVector lst = new Vector();   // --> Declaracao do VetorolAcabamento();
		acab.removerAcabamento(2);	
		
		Acabamento acabamentoConsultado;
		ColAcabamento acab = new ColAcabamento();
		acabamentoConsultado = acab.consultarAcabamento(1);		
    		System.out.println("---------------\n");
    		System.out.println(acabamentoConsultado.getCodAcacamento());
    		System.out.println(acabamentoConsultado.getDescricaoAcabamento());
			System.out.println(acabamentoConsultado.getPrecoAcabamento());	
			System.out.println("---------------\n");
		
		//cadastrar opcional
		int codVersao = 3;
		String descricaoOpcional = "Direção Hidráulica";		
		int prazoOpcional = 7;
		float precoOpcional = 2000;
		
		
		Versao ver = new Versao();
		ver.setCodVersao(codVersao);
		
		Opcional opc = new Opcional();
		opc.setCodVersao(ver);
		opc.setDescricaoOpcional(descricaoOpcional);
		opc.setPrazoOpcional(prazoOpcional);
		opc.setPrecoOpcional(precoOpcional);
						
		ColOpcional op = new ColOpcional();
		op.cadastrarOpcional(opc);
		
		//Consultar Opcional
		Opcional opcionalConsultado;
		ColOpcional opc = new ColOpcional();
		opcionalConsultado = opc.ConsultarOpcional(1);		
    		System.out.println("---------------\n");
    		System.out.println(opcionalConsultado.getCodOpcional());
    		System.out.println(opcionalConsultado.getCodVersao().getCodVersao());
    		System.out.println(opcionalConsultado.getDescricaoOpcional());
			System.out.println(opcionalConsultado.getPrazoOpcional());
			System.out.println(opcionalConsultado.getPrecoOpcional());						
			System.out.println("---------------\n");
		
		//Cadastrar carro
		int codAcabamento = 1 ;
		int codCor = 3;
		int codVersao = 3;
		int codOpcional = 1;
								
		Acabamento a = new Acabamento();
		a.setCodAcacamento(codAcabamento);
		
		Cor c = new Cor();
		c.setCodCor(codCor);
		
		Versao v = new Versao();
		v.setCodVersao(codVersao);
		
		
		
		Carro car = new Carro();
		
		car.setCodAcabamento(a);
		car.setCodCor(c);
		car.setCodVersao(v);
						
		ColCarro ca = new ColCarro();
		ca.cadastrarCarro(car);
	*/
		//Consultar Carro
		Carro carroConsultado;
		ColCarro car = new ColCarro();
		carroConsultado = car.consultarCarro(1);		
    		System.out.println("---------------\n");
    		System.out.println(carroConsultado.getCodCarro());
    		System.out.println(carroConsultado.getCodVersao().getCodVersao());
    		System.out.println(carroConsultado.getCodVersao().getDescricaoModelo());
    		System.out.println(carroConsultado.getCodAcabamento().getCodAcacamento());
    		System.out.println(carroConsultado.getCodAcabamento().getDescricaoAcabamento());
			System.out.println(carroConsultado.getCodCor().getCodCor());
			System.out.println(carroConsultado.getCodCor().getDescricaoCor());
			System.out.println("---------------\n");
		
		/*
		//Cadastrar ItemOpcional
		int codCarro = 1;
		int codOpcional = 1;
								
		Carro c = new Carro();
		c.setCodCarro(codCarro);
		
		Opcional o = new Opcional();
		o.setCodOpcional(codOpcional);
				
		ItemOpcional io = new ItemOpcional();
		
		io.setCodCarro(c);
		io.setCodOpcional(o);
						
		ColItensOpcionais i = new ColItensOpcionais();
		i.cadastrarItemOpcional(io);
				
		//Consultar Item Opcional
		ItemOpcional itemConsultado;
		ColItensOpcionais io = new ColItensOpcionais();
		itemConsultado = io.consultarItemOpcional(1);		
    		System.out.println("---------------\n");
    		System.out.println(itemConsultado.getCodItemOpcional());
    		System.out.println(itemConsultado.getCodCarro().getCodCarro());
    		System.out.println(itemConsultado.getCodCarro().getCodVersao().getCodVeiculo().getDescricaoVeiculo());
    		System.out.println(itemConsultado.getCodCarro().getCodVersao().getDescricaoModelo());
			System.out.println(itemConsultado.getCodOpcional().getCodOpcional());
    		System.out.println(itemConsultado.getCodOpcional().getDescricaoOpcional());
    		System.out.println("---------------\n");
		*/
	}
	
	
}
